It is well known that computer data viruses represent a potentially serious liability to all computer users and especially to those who regularly transfer data between computers. Modern mobile terminals, such as cell phones and personal data assistants (PDA), are capable of data transfers and connecting to the Internet.
Computer viruses were first identified in the 1980's, and up until the mid-1990s consisted of a piece of executable code which attached itself to a bona fide computer program. At that time, a virus typically inserted a JUMP instruction into the start of the program which, when the program was executed, caused a jump to occur to the “active” part of the virus. In many cases, the viruses were inert and activation of a virus merely resulted in its being spread to other bona fide programs. In other cases however, activation of a virus could cause malfunctioning of the computer running the program including, in extreme cases, the crashing of the computer and the loss of data.
Computer software intended to detect (and in some cases disinfect) infected programs has in general relied as a first step upon identifying those data files which contain executable code, e.g. .exe, .com, .bat. Once identified, these files are searched (or parsed) for certain signatures, which are associated with known viruses. The producers of anti-virus software maintain up to date records of such signatures, which may be, for example, checksums.
Computer viruses travel between machines via infected media or over network connections disguised as legitimate files or messages. The earliest computer viruses infected boot sectors and files. Over time, computer viruses evolved into numerous forms and types, including cavity, cluster, companion, direct action, encrypting, multipartite, mutating, polymorphic, overwriting, self-garbling, and stealth viruses. Most recently, macro viruses have become increasingly popular. These viruses are written in macro programming languages and are attached to document templates or as electronic mail attachments.
Historically, anti-virus solutions have reflected the sophistication of the viruses being combated. The first anti-virus solutions were stand-alone programs for identifying and disabling viruses. Eventually, anti-virus solutions grew to include specialized functions and parameterized variables that could be stored in a data file. During operation, an anti-virus engine operating on a client computer read the data file. Finally, the specialized functions evolved into full-fledged anti-virus languages for defining virus scanning and cleaning, including removal and disablement, instructions.
The growth of communication systems has resulted in increased system capacity and flexibility. Early cellular communication systems provided services using circuit-switched technologies. Now, however, mobile calls may be routed in a circuit-switched fashion, a packet-switched fashion, or some hybrid thereof. Moreover, it has become increasingly desirable to couple and integrate mobile cellular telephone networks, for instance a GSM network, to Internet protocol (IP) networks for call routing purposes. The routing of voice calls over IP networks is frequently termed “voice over IP” (VoIP).
Mobile subscribers are becoming increasingly connected to the public data networks via their mobile terminals (also referred to as mobile handsets, cell phones, personal data assistants, etc.). As mobile telephone applications become more powerful and sophisticated, the likelihood of exposure to computer viruses increases. As in the case of desktop and laptop computers, capabilities put in place for the convenience of the user can be subverted to work against the user. One example of a mobile handset virus is a virus that erases the subscriber's internal telephone directory.
For successful sales, mobile handsets must be widely perceived as being reliable and largely immune to hacking. Historically, this has been true due to the relatively simple external interfaces to the internal computing capability offered by mobile phones. As the sophistication of handsets and features continues to evolve and the possibility of connecting to the public data network increases, there is a need in the art to protect mobile telephony handsets from virus-like damage and corruption.
Desktop computers and laptops offer anti-virus protection software; however mobile handsets and wireline phones do not yet offer such protection, as their programmable features are presently relatively unsophisticated. Thus, there is a need for a network solution that provides the necessary network support for insuring that data transmissions to mobile terminals contain no malicious instructions and that provides a warning message to the subscriber before allowing certain powerful capabilities to be automatically executed (e.g., full erase of the subscribers phone list, full reset of the mobile configuration, etc.).